<!DOCTYPE html>
<html lang="en">
<head>
    <title>费用报销列表</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-store, must-revalidate">
    <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT">
    <meta http-equiv="expires" content="-1">
    <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="shortcut icon" href="/dist/img/icon.png" type="image/x-icon">
    <!-- Bootstrap 3.3.6 -->
    <link rel="stylesheet" href="/dist/plugins/bootstrap/css/bootstrap.min.css">
    <!--字体-->
    <link rel="stylesheet" href="/dist/css/font-awesome.min.css">
    <!--图标-->
    <link rel="stylesheet" href="/dist/css/ionicons.min.css">
    <!--OA主样式-->
    <link rel="stylesheet" href="/dist/css/OA.min.css?t=e9c5bb62">
    <link rel="stylesheet" href="/dist/css/skins/OA-skins.min.css?t=66b457d6">
    <style>
        .bgOne {
            color: black;
        }

        .bgTwo {
            color: red;
        }

        .bgThree {
            color: #9d9d9d;
        }
        .nav-tabs-custom {
            padding: 10px;
            margin-bottom: 0;
            box-shadow: none;
            position: relative;
            overflow: hidden;
        }
        .moduleName {
            float: left;
            height: 27px;
            line-height: 27px;
            font-size: 22px;
            width: 100px;
            text-align: center;
        }
        .lineOne{
            text-align: left;
        }
        .lineOne span {
            max-height: 20px;
            line-height: 20px;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
            text-align: left;
        }
        .div-td-content-more {
            position: absolute;
            height: auto;
            z-index: 999;
            line-height: 20px;
            background-color: #d3e8fd;
            padding: 8px 6px;
            border: 1px solid #e8e8ea;
            display: none;
        }

        .div-td-content-more i {
            width: 15px;
            height: 12px;
            background: url("/dist/img/more-icon.png");
            position: absolute;
            left: 50px;
            top: -12px;
        }
        .templateStyle{
            border:1px solid #ddd;
            margin-bottom: 10px;
            padding-bottom: 10px;
        }
        .infoReport {
            display: flex;
            justify-content: flex-start;
            text-align: left;
            margin-left: 10px;
        }
        .infoReport div{
            margin:0 10px;
        }
    </style>
</head>
<body>
<section class="content" id="app" v-cloak>
    <div class="div-td-content-more"><i></i></div>
    <div class="nav-tabs-custom oaReportNav">
        <!-- Tabs within a box -->
        <div class="moduleName">费用报销</div>
        <ul class="nav nav-tabs pull-right" style="margin-bottom: 10px;" v-cloak>
            <li :class="isActive(today)?'active':''"  @click="refreshData('cost','get_costPersonal',today)"><a href="#sales-chart" data-toggle="tab">今日</a></li>
            <li :class="isActive(yesterday)?'active':''" @click="refreshData('cost','get_costPersonal',yesterday)"><a href="#sales-chart" data-toggle="tab">昨日</a>
            </li>
            <!--<li :class="isActive(thisWeek)?'active':''" @click="refreshData('cost','get_costPersonal',thisWeek)"><a href="#sales-chart" data-toggle="tab">本周</a>-->
            <!--</li>-->
            <li :class="isActive(thisMonth)?'active':''" @click="refreshData('cost','get_costPersonal',thisMonth)"> <a href="#sales-chart" data-toggle="tab">本月</a></li>
            <li :class="isActive(item.time)?'active':''" v-for="(item,i) in tab"  @click="refreshData('cost','get_costPersonal',item.time)"><a href="#sales-chart" data-toggle="tab">{{i==0?"上月":item.str}}</a>
        </ul>
    </div>
    <div style="padding: 0 10px;background: #fff;" id="costGroup">
        <div style="width:100%;">
            <div class="infoReport">
                <div>金&nbsp;&nbsp;&nbsp;额(总)：{{cost.all.money?fmoney(cost.all.money):"0"}}</div>
                <div>已报销(总)：{{cost.all.bxMoney?fmoney(cost.all.bxMoney):"0"}}</div>
                <div>未报销(总)：{{cost.all.unBxMoney?fmoney(cost.all.unBxMoney):"0"}}</div>
            </div>
        </div>
    <table class="table table-hover  text-center" style="width:100%;">
        <thead>
        <tr>
            <!--<th style="width: 5%">序号</th>-->
            <th style="width: 10%" class="tableTitle">时间</th>
            <th style="width: 10%" class="tableTitle">费用名称</th>
            <th style="width: 10%" class="tableTitle">金额(元)</th>
            <th style="width: 10%" class="tableTitle">是否有发票</th>
            <th style="width: 8%" class="tableTitle">报销状态</th>
            <th style="width: 47%" class="tableTitle">说明</th>
        </thead>
        <tbody>
        <template v-if="cost.list.length>0">
            <tr v-for="(item,i) in cost.list">
                <!--<td>{{i+1}}</td>-->
                <template v-if="item.money!='0'">
                <td>{{(item.reportDate).substr(5,10)}}</td>
                <td @click="gotoCostDetail(item.costId)" v-if="item.auditFlag!=''" style="text-align:center;color:#169BD5;cursor: pointer">
                    {{item.costSmallName}}
                </td>
                    <td v-else>{{item.costSmallName}}</td>
                    <td v-if="item.money=='0'">
                        -
                    </td>
                    <td v-else="">
                    {{item.money}}
                </td>
                <td>
                    {{item.invoiceFlag=="1"?"有":"无"}}
                </td>
                <td>
                    {{item.bxState=="1"?"已报销":item.bxState=="-1"?"已作废":"未报销"}}
                </td>
                <td class="lineOne">
                    <span>{{item.remark}}</span>
                </td>
                </template>
            </tr>
        </template>
        <template v-else>
            <tr><td colspan="6">暂无数据~</td></tr>
        </template>
        </tbody>
    </table>

    </div>
    <!-- /.box-body -->
</section>
<!--JQ-->
<script src="https://file.ggxqce.com/web/jquery-2.2.3.min.js"></script>
<!--插件JS-->
<script src="https://file.ggxqce.com/web/bootstrap.min.js"></script>
<!--框架已定义 JS-->
<script src="/dist/js/app_iframe.js?t=0b5caf39"></script>
<!--oa自定义  JS-->
<script src="/dist/js/oa.js?t=0c4d95a9"></script>
<script type="text/javascript" src="/dist/plugins/My97DatePicker/WdatePicker.js"></script>
<script src="https://file.ggxqce.com/web/vue.min.js"></script>
<script type="text/javascript" src="/dist/plugins/lhgdialog/lhgdialog.min.js?self=true"></script>

<script>
    $(function () {
        $("body").on("click", ".lineOne", function (e) {
            if ($(".div-td-content-more").is(":hidden")) {
                var text = $(this).text();
                if (text != "") {
                    text = "<i></i>" + text;
                    $(".div-td-content-more").html(text).css({
                        "width": $(this).outerWidth() + "px",
                        "left": $(this).offset().left,
                        "top": ($(this).offset().top + $(this).outerHeight()) + "px"
                    }).show();
                    e.stopPropagation();
                }
            } else {
                $(".div-td-content-more").hide();
            }
        });
        $("body").on("click", ".div-td-content-more", function (e) {
            e.stopPropagation();
        });
        $("body").on("click", function () {
            $(".div-td-content-more").hide();
        });
    });
</script>
<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            userId: $.wyui.page.urlParams.userId?$.wyui.page.urlParams.userId:getCurrentUser().id,
            start:$.wyui.page.urlParams.start?$.wyui.page.urlParams.start:"",
            yesterday:new Date(new Date()-24*60*60*1000).Format("yyyy-MM-dd"),
            today: new Date().Format("yyyy-MM-dd"),//今天
            hour:new Date().getHours(),
            thisMonth: new Date().Format("yyyy-MM"),
            thisWeek: new Date().Format("yyyy-MM-dd") + "-w",
            tab:[],
            cost:{
                time: $.wyui.page.urlParams.dateTime?$.wyui.page.urlParams.dateTime:new Date().Format("yyyy-MM-dd"),
                list: [],
                all:{"money":"","bxMoney":"","unBxMoney":""}
            }
        },
        methods: {
            fmoney:function(s,n){
                n = n > 0 && n <= 20 ? n : 2;
                s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
                var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1],
                    t = "";
                for (i = 0; i < l.length; i++) {
                    t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
                }
                return t.split("").reverse().join("") + "." + r;
            },
            //获取合计
            getCount:function (arr,key) {
                var number=0;
                for (var i = arr.length - 1; i >= 0; i--) {
                    number += (arr[i][key]&&arr[i][key]!='-'? arr[i][key] : 0)

                }
                return number;
            },
            //合并单元格
            tablesMergeCell: function (list) {
                for (field in list[0]) {
                    var k = 0;
                    while (k < list.length) {
                        list[k][field + 'span'] = 1;
                        list[k][field + 'dis'] = false;
                        for (var i = k + 1; i <= list.length - 1; i++) {
                            if (list[k][field] == list[i][field] && list[k][field] != '') {
                                list[k][field + 'span']++;
                                list[k][field + 'dis'] = false;
                                list[i][field + 'span'] = 1;
                                list[i][field + 'dis'] = true;
                            } else {
                                break;
                            }
                        }
                        k = i;
                    }
                }
                return list;
            },
            //获取tab
            getTab: function () {
                var that = this;
                var dateTime = new Date().Format("yyyyMM");
                for (var i = 0; i < 5; i++) {
                    dateTime = that.getLastEndMonth(dateTime);
                    that.tab.push(that.insert_flg(dateTime, "-", "4"))
                }
                console.log(that.tab)
            },
            getLastEndMonth: function (beginYearMonth) {
                var strYear = parseInt(beginYearMonth.substr(0, 4), 10);
                var strMonth = parseInt(beginYearMonth.substr(4, 6), 10);
                if (strMonth - 1 == 0) {
                    strYear -= 1;
                    strMonth = 12;
                } else {
                    strMonth -= 1;
                }
                if (strMonth < 10) {
                    strMonth = "0" + strMonth;
                }
                var monthstr = strYear + "" + strMonth;
                return monthstr;
            },
            //格式化日期
            insert_flg: function (str, flg, sn) {
                var newstr = "";
                for (var i = 0; i < str.length; i += sn) {
                    var tmp = str.substring(i, i + sn);
                    newstr += tmp + flg;
                }
                newstr = newstr.substr(0, newstr.length - 1);
                var st1=newstr.substr(2,2);
                var st2=newstr.substr(5,2);
                var newstr3=st2+"/"+st1;
                var obj={str:newstr,time:newstr};
                return obj;
            },
            //tab中点击日期刷新对应数据
            refreshData:function (dataType,fun,time) {
                var that=this;
                that[dataType].time=time;
                that[fun]();
            },
            isActive:function (item) {
                var that=this;
                if(that.cost.time==item){
                    return true;
                }
            },
            //获取费用报表-区域经理
            get_costPersonal: function () {
                var that = this;
                $.wyui.postMethod(urlConfig.report.reportCost.getForPersonalByUserIdAndDateTime, {
                    "userId": that.userId,
                    "dateTime": that.cost.time,
                    "start":that.start
                }, function (data) {
                    that.cost.list = that.tablesMergeCell(data);
                    that.cost.all.money=that.getCount(that.cost.list,"money");
                    that.cost.all.bxMoney=that.getCount(that.cost.list,"bxMoney");
                    that.cost.all.unBxMoney=that.getCount(that.cost.list,"unBxMoney");
                    console.log(data);
                });
            },
            gotoCostDetail: function (id) {
                top.$.dialog({
                    content: 'url:/page/wreport/temporaryExpenses.html?id=' + id,
                    title: "费用详情",
                    width: 904,
                    height: 365,
                    max: true,
                    min: true,
                    lock: true
                });
            },
        },

        mounted: function () {
            var that = this;
            //1.获取前5个月的tab数据
            this.getTab();
            this.get_costPersonal();
        }
    });
</script>

</body>
</html>